package com.un.ebs.contract.domain;

import com.un.ebs.contract.enums.ContractTypeEnum;
import java.util.Date;
import com.un.ebs.contract.enums.PaymentTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (ContractExt)表实体类
 *
 * @author makejava
 * @since 2021-03-25 18:20:38
 */
@Data
@Component
@TableName("v_contract_ext")
@SuppressWarnings("serial")
public class ContractExt extends Model<ContractExt> {

                
    @DbField(name = "id",  length = 40 , precision = 0)
    private String id;
                
    @DbField(name = "parent_id",  length = 40 , precision = 0)
    private String parentId;
                
    @DbField(name = "business_ent_id",  length = 40 , precision = 0)
    private String businessEntId;
                
    @DbField(name = "business_ent_name",  length = 100 , precision = 0)
    private String businessEntName;
                
    @DbField(name = "type",  length = -1 , precision = 0)
    private ContractTypeEnum type;
                
    @DbField(name = "is_frame",  length = -1 , precision = 0)
    private Boolean isFrame;

    @DbField(name = "is_temp", length = -1, precision = 0)
    private Boolean isTemp;

    @DbField(name = "ver", length = -1, precision = 0)
    private Integer ver;

    @DbField(name = "code", length = 50, precision = 0)
    private String code;

    @DbField(name = "tax_rate")
    private Double taxRate;

    @DbField(name = "personnel_id", length = 40, precision = 0)
    private String personnelId;

    @DbField(name = "personnel_name", length = 50, precision = 0)
    private String personnelName;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_at", length = 40, precision = 0)
    private String createAt;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_at_name",  length = 50 , precision = 0)
    private String createAtName;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_time",  length = -1 , precision = 0)
    private Date createTime;
                
    @DbField(name = "submit_at",  length = 40 , precision = 0)
    private String submitAt;
                
    @DbField(name = "submit_at_name",  length = 50 , precision = 0)
    private String submitAtName;
                
    @DbField(name = "submit_time",  length = -1 , precision = 0)
    private Date submitTime;
                
    @DbField(name = "submit_status",  length = -1 , precision = 0)
    private Boolean submitStatus;
                
    @DbField(name = "audit_at",  length = 40 , precision = 0)
    private String auditAt;
                
    @DbField(name = "audit_at_name",  length = 50 , precision = 0)
    private String auditAtName;
                
    @DbField(name = "audit_time",  length = -1 , precision = 0)
    private Date auditTime;
                
    @DbField(name = "audit_status",  length = -1 , precision = 0)
    private Boolean auditStatus;
                
    @DbField(name = "payment_type",  length = -1 , precision = 0)
    private PaymentTypeEnum paymentType;
            
    @TableLogic        
    @DbField(name = "is_delete",  length = -1 , precision = 0)
    private Boolean isDelete;
                
    @DbField(name = "start_date",  length = -1 , precision = 0)
    private Date startDate;
                
    @DbField(name = "end_date",  length = -1 , precision = 0)
    private Date endDate;
                
    @DbField(name = "tenant_id",  length = 40 , precision = 0)
    private String tenantId;
                
    @DbField(name = "contract_sum_qty",  length = 38 , precision = 4)
    private Double contractSumQty;
                
    @DbField(name = "contract_sum_money",  length = 38 , precision = 8)
    private Double contractSumMoney;
                
    @DbField(name = "real_sum_qty",  length = 38 , precision = 4)
    private Double realSumQty;
                
    @DbField(name = "is_close",  length = -1 , precision = 0)
    private Boolean isClose;
                
    @DbField(name = "invoice_money",  length = 38 , precision = 6)
    private Double invoiceMoney;
                
    @DbField(name = "remark",  length = 1000 , precision = 0)
    private String remark;
                
    @DbField(name = "workflow_pass_status",  length = -1 , precision = 0)
    private Boolean workflowPassStatus;
                
    @DbField(name = "workflow_instance_id",  length = 40 , precision = 0)
    private String workflowInstanceId;
                
    @DbField(name = "last_customer_ent_id",  length = 40 , precision = 0)
    private String lastCustomerEntId;
                
    @DbField(name = "last_customer_name",  length = 100 , precision = 0)
    private String lastCustomerName;
                
    @DbField(name = "warranty_month",  length = -1 , precision = 0)
    private Integer warrantyMonth;
                
    @DbField(name = "warranty_percent",  length = 18 , precision = 4)
    private Double warrantyPercent;
                
    @DbField(name = "settle_accounts",  length = 100 , precision = 0)
    private String settleAccounts;
                
    @DbField(name = "business_contract_code",  length = 50 , precision = 0)
    private String businessContractCode;


}